home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / Embed / Sources / Frame.h < prev    next >
Encoding:
Text File  |  1996-09-17  |  3.2 KB  |  105 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                Frame.h
  4. //    Release Version:    $ ODF 2 $
  5. //
  6. //    Author:                M.Boetcher
  7. //
  8. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  9. //
  10. //========================================================================================
  11.  
  12. #ifndef FRAME_H
  13. #define FRAME_H
  14.  
  15. // ----- Framework Includes -----
  16.  
  17. #ifndef FWFRMING_H
  18. #include "FWFrming.h"
  19. #endif
  20.  
  21. #ifndef FWDRGDRP_H
  22. #include "FWDrgDrp.h"
  23. #endif
  24.  
  25. //========================================================================================
  26. //    Constant
  27. //========================================================================================
  28.  
  29. const FW_Fixed kBorder = FW_IntToFixed(8);
  30. const FW_Fixed kHalfBorder = FW_IntToFixed(4);
  31.  
  32. //========================================================================================
  33. // Forward class declaration
  34. //========================================================================================
  35.  
  36. class CEmbedPart;
  37. class CEmbedContent;
  38.  
  39. //========================================================================================
  40. // CLASS CEmbedFrame
  41. //========================================================================================
  42.  
  43. class CEmbedFrame : public FW_CEmbeddingFrame, public FW_MDraggableFrame, public FW_MDroppableFrame
  44. {
  45. //----------------------------------------------------------------------------------------
  46. //    Initialization/Destruction
  47. //
  48.   public:
  49.     FW_DECLARE_AUTO(CEmbedFrame)
  50.     
  51.     CEmbedFrame(Environment* ev, ODFrame* odFrame, FW_CPresentation* presentation, 
  52.                 CEmbedPart* part, CEmbedContent* content);
  53.     virtual ~CEmbedFrame();
  54.  
  55. //----------------------------------------------------------------------------------------
  56. //    Inherited API
  57. //
  58.   public:
  59.     virtual void                     Draw(Environment* ev, ODFacet* odFacet, ODShape* invalidShape);
  60.  
  61.     virtual void                     CreateSubViews(Environment* ev);
  62.  
  63.     virtual FW_Handled                DoAdjustMenus(Environment* ev, 
  64.                                             FW_CMenuBar* menuBar, 
  65.                                             FW_Boolean hasMenuFocus, 
  66.                                             FW_Boolean isRoot);
  67.  
  68.     virtual void                    FrameShapeChanged(Environment* ev);
  69.  
  70.     virtual ODDragResult            CanAcceptDrop(Environment* ev, ODDragItemIterator* dragInfo);
  71.  
  72.     virtual FW_CClipboardCommand*    NewClipboardCommand(Environment* ev, 
  73.                                             ODCommandID commandID);
  74.  
  75.     virtual FW_CDragCommand*        NewDragCommand(Environment* ev, 
  76.                                             FW_CFrame* theFrame, 
  77.                                             const FW_CMouseEvent& theMouseEvent);
  78.                                             
  79.     virtual FW_CDropCommand*         NewDropCommand(Environment* ev,
  80.                                             FW_CFrame* frame,
  81.                                             ODDragItemIterator* dropInfo, 
  82.                                             ODFacet* odFacet, 
  83.                                             const FW_CPoint& dropPoint);
  84.  
  85.     virtual FW_CInsertCommand*        NewInsertCommand(Environment* ev, const FW_PFileSpecification& fileSpec);
  86.  
  87.     virtual FW_Handled                DoMouseDownInEmbeddedFrameBorder(Environment* ev, 
  88.                                             const FW_CBorderMouseEvent& theBorderMouseEvent);
  89.                                             
  90. //----------------------------------------------------------------------------------------
  91. //    New API
  92. //
  93.   public:
  94.     ODShape*                        CreateFrameShape(Environment* ev);
  95.  
  96. //----------------------------------------------------------------------------------------
  97. //    Data Members
  98. //
  99.   private:
  100.     CEmbedPart*            fPart;
  101.     CEmbedContent*         fContent;
  102. };
  103.  
  104. #endif
  105.